// pages/confirmorder/confirmorder.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 完成订单的商品数据
    confirmList:[],
    // 商品总数
    totalNum:1,
    // 商品总价
    totalPrice:0,
    // 判断购买商品的路径，c代表购物车，d代表详情页
    type:'',
  },

  // 自定义函数
  order:function(ele,str,type){
    // 获取当前购买的商品数据
    var goods = wx.getStorageSync('confirmList')
    if(ele.length == 0){
      // 待收货页面没有商品，直接添加
      wx.setStorageSync(str, goods)
    }else{
      // 待收货页面有商品，将当前商品添加到顶部
      for(var i=0;i<goods.length;i++){
        ele.unshift(goods[i])
        wx.setStorageSync(str, ele)
      }
    }
    // 获取购物车缓存数据
    var carList = wx.getStorageSync('carList')
    // 判断是否是从购物车购买商品
    if(type == 'c'){
      // 循环遍历
      for(var j=carList.length-1;j>=0;j--){
        // 判断当前商品是否购买
        if(carList[j].checked){
          // 删除购物车中对应的商品
          carList.splice(j,1)
        }
      }
    }
    // 修改缓存
    wx.setStorageSync('carList', carList)
  },

  // 去付款的点击事件
  toPay:function(){
    // this
    var _this = this
    wx.showModal({
      title: '￥'+ this.data.totalPrice,
      content: '确认支付？',
      success (res) {
        if (res.confirm) {
          console.log('用户点击确定')
          // 1、将当前商品添加到[待收货]和[全部订单]缓存数据中
          // 2、判断购买路径，如果从购物车上购买，删除购物车中对应的商品
          var receivedList = wx.getStorageSync('receivedList')
          var allorderList = wx.getStorageSync('allorderList')
          // (缓存数据，缓存数据名称，购买路径)
          _this.order(receivedList,'receivedList',_this.data.type)
          _this.order(allorderList,'allorderList',_this.data.type)
          // 跳转到待收货
          wx.navigateTo({
            url: '/pages/order/order?index=1',
          })
        } else if (res.cancel) {
          console.log('用户点击取消')
          // 1、将当前商品添加到[待付款]和[全部订单]缓存数据中
          // 2、判断购买路径，如果从购物车上购买，删除购物车中对应的商品
          var paymentList = wx.getStorageSync('paymentList')
          var allorderList = wx.getStorageSync('allorderList')
          // (缓存数据，缓存数据名称，购买路径)
          _this.order(paymentList,'paymentList',_this.data.type)
          _this.order(allorderList,'allorderList',_this.data.type)
          // 跳转到待付款
          wx.navigateTo({
            url: '/pages/order/order?index=0',
          })
        }
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var type = options.type
    // console.log(type)
    // 确认订单的商品数组
    var confirmList = wx.getStorageSync('confirmList')
    // 循环遍历商品数组，计算总价和总数
    var totalNum = 0
    var totalPrice = 0
    for(var i=0;i<confirmList.length;i++){
      // 总数量
      totalNum += confirmList[i].num
      // 总价 = 单价*数量 之和
      totalPrice += confirmList[i].num * confirmList[i].price
    }
    // 修改data数据
    this.setData({
      type:type,
      totalNum:totalNum,
      totalPrice:totalPrice
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 获取购买的数据
    this.setData({
      confirmList:wx.getStorageSync('confirmList')
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})